package net.loststone

/**
 * Aquesta classe associa un valor econòmic a un lloc.
 */
class EconInfo {

  // nom d'identificació (ex: gasto mitjà per persona en tal lloc)
  String nom
  // número amb el valor.
  double valor
  // d'on ha sortit (si es pot dir)
  String font = null;
  // el lloc que afecta.
  Town afecta = null;
  // quan es crea aquest objecte.
  Date dateCreated;

  static constraints = {
    nom(blank:false)
    valor(blank:false)
    font(nullable:true)
    afecta(nullable:true)
    dateCreated()
  }

 /**
  * Comprova si aquest EconInfo ja existeix a la base de dades.
  * @return l'identificador de l'econinfo si existeix, -1 en cas de que no existeixi.
  */
  public static int isDuplicated(EconInfo value) {
      def tmp = EconInfo.findAllByNom(value.nom)
      println(tmp)
      for (def itera in tmp) {
          if (itera.valor == value.valor &&
          itera.font == value.font &&
          itera.afecta == value.afecta) {
          return itera.id;
          }
      }
      return -1;
  }

}
